const path = require("path");
const {CleanWebpackPlugin} = require("clean-webpack-plugin");
const HtmlWebpackPlugin = require("html-webpack-plugin");
// webpack 配置文件
module.exports = {
    mode: 'development',
    // 设置成一个数组,数组当中的每一个元素即是打包的文件。
    // entry:["./src/one.js","./src/two.js"],
    // 可以是字符串，数组，对象
    // entry:{
    //     one:"./src/one.js",  // 不指定filename:[name]只会打包一个one
    //     two:"./src/two.js"
    // },
    entry: './src/index.js',
    output: {
        // path: path.resolve(__dirname, '../'),
        filename: "bundle.js"

        // 将入口entry对象的属性名，替换[name]
        // filename: "[name].bundle.js"
    },
    // plugins类型是一个数组，该数组的每一个元素是你要使用的plugin（插件）
    plugins: [
        new CleanWebpackPlugin(),
        new HtmlWebpackPlugin({
            template:"./public/index.html",// 指定模板地址
            filename: "home.html",// 将打包后的文件名字进行重置，默认是index.html
            hash:true, // 为引入js的地址增加后缀，用于清除缓存
            inject: true, // 是否嵌入到html文件当中，默认true
            inject: "body", // 嵌入到body/head 默认是body
            // chunks: ["one"], // 入口属性名，并不是文件名，指定打包的文件（用于文件多，只需要引入其中1,2个的时候）
            // excludeChunks: ["one"], // 除了入口属性one的文件，全部打包
            title: '大家好，现在学习的是webpack',
            // public/index.html <title><%= htmlWebpackPlugin.options.title%></title>
            arr: [1,2,3,4], // 模板渲染，详见pubilc/index.html
            minify: {
                removeComments: true, // 清除注释
                removeAttributeQuotes: true, // 移除双引号
                collapseWhitespace: true, // 进行折叠，去除空格
            }
        })
    ]
}